/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * frmAltaLinea.java
 *
 * Created on 18/01/2012, 01:37:33 PM
 */

package Linea;

import Beans.LineaBean;
import Blogic.LineaBLogic;
import java.util.Vector;
import javax.swing.JOptionPane;

/**
 *
 * @author orellana
 */
public class frmAltaLinea extends javax.swing.JFrame {
    // Atributos de la clase
     int tipoAccion=0;
     private String idLinea="";

    /** Creates new form frmAltaLinea */
    public frmAltaLinea(int tipo) {
        initComponents();
        // Definimos posicion del formulario
        this.setLocationRelativeTo(null);
        //Definimos el redimencionamiento
        this.setResizable(false);
        // Definimos cerrado
        this.setDefaultCloseOperation(HIDE_ON_CLOSE);

        // Seteamos el titulo del formulario
        switch (tipo){
        // Alta de Linea
            case 1: this.setTitle("Alta de Linea de Producto");
                this.tipoAccion=1;
                break;
        // Modificación de Linea
            case 2: this.setTitle("Modificar Linea de Producto");
                this.tipoAccion=2;
                break;
        }
    }

    //Seteamos el identificador de la Linea
    public void setIdLinea(String idLinea){
    this.idLinea=idLinea;
    }

    //Obtenemos los datos de la linea
    public void obtDatosLinea(){
        // Variables locales
        Vector datosLinea=new Vector();
        LineaBean sqlBean=new LineaBean();
        LineaBean detalleDatosLinea=new LineaBean();

        // Datos Linea
        // Seteamos los datos
        sqlBean.setIdLinea(idLinea);
        // Realizamos la consulta
        datosLinea=(new LineaBLogic()).getDatosLinea(sqlBean);
        detalleDatosLinea=(LineaBean) datosLinea.elementAt(0);
        //Vaciamos los datos
        txtNombreLinea.setText(detalleDatosLinea.getNombreLinea());
        txtDescripcion.setText(detalleDatosLinea.getDescripcionLinea());
    }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jToolBar1 = new javax.swing.JToolBar();
        btnGuardar = new javax.swing.JButton();
        btnCerrar = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        txtNombreLinea = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        txtDescripcion = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(sistemapegasso.SistemaPegassoApp.class).getContext().getResourceMap(frmAltaLinea.class);
        setTitle(resourceMap.getString("Form.title")); // NOI18N
        setName("Form"); // NOI18N

        jToolBar1.setFloatable(false);
        jToolBar1.setRollover(true);
        jToolBar1.setName("jToolBar1"); // NOI18N
        jToolBar1.setPreferredSize(new java.awt.Dimension(58, 36));

        btnGuardar.setIcon(resourceMap.getIcon("btnGuardar.icon")); // NOI18N
        btnGuardar.setText(resourceMap.getString("btnGuardar.text")); // NOI18N
        btnGuardar.setToolTipText(resourceMap.getString("btnGuardar.toolTipText")); // NOI18N
        btnGuardar.setFocusable(false);
        btnGuardar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnGuardar.setName("btnGuardar"); // NOI18N
        btnGuardar.setPreferredSize(new java.awt.Dimension(36, 36));
        btnGuardar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnGuardar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGuardarActionPerformed(evt);
            }
        });
        jToolBar1.add(btnGuardar);

        btnCerrar.setIcon(resourceMap.getIcon("btnCerrar.icon")); // NOI18N
        btnCerrar.setText(resourceMap.getString("btnCerrar.text")); // NOI18N
        btnCerrar.setToolTipText(resourceMap.getString("btnCerrar.toolTipText")); // NOI18N
        btnCerrar.setFocusable(false);
        btnCerrar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnCerrar.setName("btnCerrar"); // NOI18N
        btnCerrar.setPreferredSize(new java.awt.Dimension(36, 38));
        btnCerrar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnCerrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCerrarActionPerformed(evt);
            }
        });
        jToolBar1.add(btnCerrar);

        jLabel1.setBackground(resourceMap.getColor("jLabel1.background")); // NOI18N
        jLabel1.setFont(resourceMap.getFont("jLabel1.font")); // NOI18N
        jLabel1.setForeground(resourceMap.getColor("jLabel1.foreground")); // NOI18N
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
        jLabel1.setName("jLabel1"); // NOI18N
        jLabel1.setOpaque(true);

        jLabel2.setFont(resourceMap.getFont("jLabel2.font")); // NOI18N
        jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
        jLabel2.setName("jLabel2"); // NOI18N

        txtNombreLinea.setFont(resourceMap.getFont("txtNombreLinea.font")); // NOI18N
        txtNombreLinea.setText(resourceMap.getString("txtNombreLinea.text")); // NOI18N
        txtNombreLinea.setName("txtNombreLinea"); // NOI18N
        txtNombreLinea.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtNombreLineaActionPerformed(evt);
            }
        });
        txtNombreLinea.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                txtNombreLineaFocusLost(evt);
            }
        });

        jLabel3.setFont(resourceMap.getFont("jLabel3.font")); // NOI18N
        jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N
        jLabel3.setName("jLabel3"); // NOI18N

        txtDescripcion.setFont(resourceMap.getFont("txtDescripcion.font")); // NOI18N
        txtDescripcion.setText(resourceMap.getString("txtDescripcion.text")); // NOI18N
        txtDescripcion.setName("txtDescripcion"); // NOI18N
        txtDescripcion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtDescripcionActionPerformed(evt);
            }
        });
        txtDescripcion.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                txtDescripcionFocusLost(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jLabel3)
                        .addGap(4, 4, 4))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addGap(26, 26, 26)))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(txtNombreLinea)
                    .addComponent(txtDescripcion, javax.swing.GroupLayout.DEFAULT_SIZE, 320, Short.MAX_VALUE))
                .addContainerGap())
            .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 416, Short.MAX_VALUE)
            .addComponent(jToolBar1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 416, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtNombreLinea, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtDescripcion, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3))
                .addContainerGap(118, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCerrarActionPerformed
        // TODO add your handling code here:
        // Cerramos la ventana
        this.setVisible(false);
    }//GEN-LAST:event_btnCerrarActionPerformed

    private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGuardarActionPerformed
        // TODO add your handling code here:
        // Pasamos de minuscula a mayuscula
//        txtNombreLinea.setText(txtNombreLinea.getText().toUpperCase());
//        txtDescripcion.setText(txtDescripcion.getText().toUpperCase());
//
//        // Validamos el tipo de accion a realizar
//        switch (this.tipoAccion){
//            // Alta de lineas
//            case 1:
//                // Variables locales
//                LineaBean sqlBean=new LineaBean();
//                Vector datosLinea=new Vector();
//                // Validacion de campos
//                if(txtNombreLinea.getText().equalsIgnoreCase("")){
//                    // Nombre
//                    // Mensaje del usuario
//                    JOptionPane.showMessageDialog(null,"Capture el Nombre de la Linea de Producto","Validacion",JOptionPane.INFORMATION_MESSAGE);
//                    // Movemos el foco
//                    txtNombreLinea.requestFocus();
//                }else if(txtDescripcion.getText().equalsIgnoreCase("")){
//                    // Descripcion
//                    // Mensaje del usuario
//                    JOptionPane.showMessageDialog(null,"Capture la Descripcion de la Linea de Producto","Validacion",JOptionPane.INFORMATION_MESSAGE);
//                }else{
//                    // Guarda registro de linea
//                    // Seteamos los datos
//                    sqlBean.setNombreLinea(txtNombreLinea.getText());
//                    sqlBean.setDescripcionLinea(txtDescripcion.getText());
//
//                    // Insertamos el registro
//                    datosLinea=(new LineaBLogic()).execute(sqlBean);
//                    // Evaluamos el resultado
//                    if (datosLinea.elementAt(0).equals("OK")){
//                        // Mensaje al usuario
//                        JOptionPane.showMessageDialog(null,"Linea de Producto Registrado Satisfactoriamente","Registro",JOptionPane.INFORMATION_MESSAGE);
//                        txtNombreLinea.setText("");
//                        txtDescripcion.setText("");
//                        this.setVisible(false);
//                    } else{
//                        // Mensaje de error
//                        JOptionPane.showMessageDialog(null,"Ocurrio un Problema al Momento de Registrar la Linea de Producto","Registro",JOptionPane.INFORMATION_MESSAGE);
//                    }
//                }
//                break;
//                // Modificar Linea
//            case 2:
//                break;
//        }
   // }

    }//GEN-LAST:event_btnGuardarActionPerformed

    public void altaClickLinea(){
        
        // Variables locales
                LineaBean sqlBean=new LineaBean();
                Vector datosLinea=new Vector();

              // Pasamos de minuscula a mayuscula
        txtNombreLinea.setText(txtNombreLinea.getText().toUpperCase());
        txtDescripcion.setText(txtDescripcion.getText().toUpperCase());

        // Validamos el tipo de accion a realizar
        switch (this.tipoAccion){
            // Alta de lineas
            case 1:
                
                // Validacion de campos
                if(txtNombreLinea.getText().equalsIgnoreCase("")){
                    // Nombre
                    // Mensaje del usuario
                    JOptionPane.showMessageDialog(null,"Capture el Nombre de la Linea de Producto","Validacion",JOptionPane.INFORMATION_MESSAGE);
                    // Movemos el foco
                    txtNombreLinea.requestFocus();
                }else if(txtDescripcion.getText().equalsIgnoreCase("")){
                    // Descripcion
                    // Mensaje del usuario
                    JOptionPane.showMessageDialog(null,"Capture la Descripcion de la Linea de Producto","Validacion",JOptionPane.INFORMATION_MESSAGE);
                }else{
                    // Guarda registro de linea
                    // Seteamos los datos
                    sqlBean.setNombreLinea(txtNombreLinea.getText());
                    sqlBean.setDescripcionLinea(txtDescripcion.getText());

                    // Insertamos el registro
                    datosLinea=(new LineaBLogic()).execute(sqlBean);
                    // Evaluamos el resultado
                    if (datosLinea.elementAt(0).equals("OK")){
                        // Mensaje al usuario
                        JOptionPane.showMessageDialog(null,"Linea de Producto Registrado Satisfactoriamente","Registro",JOptionPane.INFORMATION_MESSAGE);
                        txtNombreLinea.setText("");
                        txtDescripcion.setText("");
                        this.setVisible(false);
                    } else{
                        // Mensaje de error
                        JOptionPane.showMessageDialog(null,"Ocurrio un Problema al Momento de Registrar la Linea de Producto","Registro",JOptionPane.INFORMATION_MESSAGE);
                    }
                }
                break;
                // Modificar Linea
            case 2:
                //Validacion de campos
                if(txtNombreLinea.getText().equalsIgnoreCase("")){
                    // Nombre
                    // Mensaje del usuario
                    JOptionPane.showMessageDialog(null,"Capture el Nombre de la Linea de Producto","Validacion",JOptionPane.INFORMATION_MESSAGE);
                    // Movemos el foco
                    txtNombreLinea.requestFocus();
                }else if(txtDescripcion.getText().equalsIgnoreCase("")){
                    // Descripcion
                    // Mensaje del usuario
                    JOptionPane.showMessageDialog(null,"Capture la Descripcion de la Linea de Producto","Validacion",JOptionPane.INFORMATION_MESSAGE);
                }else{
                    //Guarda registro de linea
                    //Seteamos los datos
                    sqlBean.setIdLinea(idLinea);
                    sqlBean.setNombreLinea(txtNombreLinea.getText());
                    sqlBean.setDescripcionLinea(txtDescripcion.getText());

                    //Actualizamos el registro
                    datosLinea=(new LineaBLogic()).updateDatosLinea(sqlBean);
                    //Evaluamos el resultado
                    if(datosLinea.elementAt(0).equals("OK")){
                        // Mensaje al usuario
                        JOptionPane.showMessageDialog(null,"Linea Actualizada Satisfactoriamente","Actualizacion",JOptionPane.INFORMATION_MESSAGE);
                        txtNombreLinea.setEnabled(false);
                        txtDescripcion.setEnabled(false);

                }else{
                        // Mensaje de error
                        JOptionPane.showMessageDialog(null,"Ocurrio un Problema al Momento de Actualizar la Linea","Actualizacion",JOptionPane.INFORMATION_MESSAGE);
                    }
                }
                break;
        }

    }

    private void txtNombreLineaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtNombreLineaActionPerformed
        // TODO add your handling code here:

    }//GEN-LAST:event_txtNombreLineaActionPerformed

    private void txtDescripcionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtDescripcionActionPerformed
        // TODO add your handling code here:
        
    }//GEN-LAST:event_txtDescripcionActionPerformed

    private void txtNombreLineaFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNombreLineaFocusLost
        // TODO add your handling code here:
        // Pasamos de minuscula a mayuscula
        txtNombreLinea.setText(txtNombreLinea.getText().toUpperCase());
    }//GEN-LAST:event_txtNombreLineaFocusLost

    private void txtDescripcionFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtDescripcionFocusLost
        // TODO add your handling code here:
        // Pasamos de minuscula a mayuscula
        txtDescripcion.setText(txtDescripcion.getText().toUpperCase());
    }//GEN-LAST:event_txtDescripcionFocusLost

    /**
    * @param args the command line arguments
    */
//    public static void main(String args[]) {
//        java.awt.EventQueue.invokeLater(new Runnable() {
//            public void run() {
//                new frmAltaLinea().setVisible(true);
//            }
//        });
//    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnCerrar;
    public javax.swing.JButton btnGuardar;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JToolBar jToolBar1;
    private javax.swing.JTextField txtDescripcion;
    private javax.swing.JTextField txtNombreLinea;
    // End of variables declaration//GEN-END:variables

}
